package com.example.shopp_2301.utils

import android.content.Context
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPUtils
@Interceptor(priority = 1)
class LoginInterceptor:IInterceptor {
    override fun init(context: Context?) {
        //初始化  一般不执行操作
    }

    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {
        //放行---用来处理我们自己设置的拦截要求
        //找到需要登录的页面  判断是否进行了登录   如果已经登录，进入对应界面    如果未登录  跳转到登录页面
        //如果需要登录的页面特别多，那么我们可以找不需要的页面  （在这个项目中除了欢迎页、登录页面、注册页面这些页面，其余页面均需要登录）
        if("/app/LoginActivity".equals(postcard?.path)||"/app/LoginCodeActivity".equals(postcard?.path)||SPUtils.getInstance().getString("token").isNotEmpty()){
            callback?.onContinue(postcard)
        }else{
            ARouter.getInstance().build("/app/LoginCodeActivity").navigation()
        }
    }
}